The present invention is directed to an apparatus for use with a computing device for controlling communications between that computing device and a plurality of peripheral devices.
Prior art systems for effecting such communications control generally have involved multiplexing between a synchronous clock and an asynchronous clock into a single-state bus controller.
The present invention, in its preferred embodiment, is intended for use with a bus controller system which polls peripheral devices by individual addresses and, upon receiving an indication that a respective peripheral device is ready to transfer information, the bus controller then obtains operational parameters associated with the ready peripheral device and incorporates those operational parameters in effecting the desired operation to be accomplished by the ready peripheral device. The present invention, in its preferred embodiment, receives appropriate of the operational parameters via a feedback bus and, based upon those operational parameters, selects either a synchronous mode or an asynchronous mode device for providing signals to a bus driver. The bus driver distributes information according to the ready device, or effects whatever other operation is to be accomplished by the ready device.
Thus, the choice of which of the two controllers, synchronous or asynchronous, is to be employed by the bus controller is based upon feedback information received from the ready peripheral device, rather than effecting a multiplexing between clocks into a single bus controller as practiced by prior art devices.
Such a novel approach in configuring a bus controller allows high speed peripherals to coexist on the same data bus as peripherals which require slower access cycles. The novel configuration of the present invention obviates any requirement for asynchronous, metastable, end-of-cycle feedback signals to be processed by the system. The result is improved efficiency of employment of data buses, easier accommodation of a wider variety of peripheral devices using common hardware, and faster aggregate operating speeds.